

import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;

import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: ling
 * Date: 2022-10-16
 * Time: 19:24
 */
//期望通过这个类来完成数据库建立连接的过程
//建立连接使用DateSource 并且一个程序只有一个DateSource实例即可，所以使用单例模式
public class DBUtil {
   private static DataSource dataSource=null;
   private static DataSource getDataSource() {
       if(dataSource==null) {
           dataSource=new MysqlDataSource();
           ((MysqlDataSource)dataSource).setURL("jdbc:mysql://127.0.0.1:3306/MessageWall?characterEncoding=utf8&useSSL=false");
           ((MysqlDataSource)dataSource).setUser("root");
           ((MysqlDataSource)dataSource).setPassword("123456");
       }
       return dataSource;
   }
   public static Connection getConnection() throws SQLException {
       return  getDataSource().getConnection();
   }
   public static void close(Connection connection, PreparedStatement statement, ResultSet resultSet) {
       if(resultSet!=null) {
           try {
               resultSet.close();
           } catch (SQLException e) {
               e.printStackTrace();
           }
       }
       if(statement!=null) {
           try {
               statement.close();
           } catch (SQLException e) {
               e.printStackTrace();
           }
       }
       if(connection!=null) {
           try {
               connection.close();
           } catch (SQLException e) {
               e.printStackTrace();
           }
       }
   }
}
